<?php
/**
* @file IDataService.php
* Copyright (c) Friends Group. All rights reserved.
* $Id$
*
*/

/**
 * Quản lý việc truy xuất database
 */
interface IDataService 
{

    /**
     * @ReturnType void
     * @ParamType object 
     * @ParamType objectType 
     * Insert dữ liệu mới vào database
     */
    public function create(&$object);

    /**
     * @ReturnType void
     * @ParamType object 
     * @ParamType objectType 
     * Xóa dữ liệu trong database
     */
    public function delete($object, $where = null);

    /**
     * @ReturnType void
     * @ParamType object 
     * @ParamType objectType 
     * Cập nhât database
     */
    public function update($object, $where = null);

    /**
     * @ReturnType Object
     * @ParamType queryString 
     * @ParamType objectType 
     * Lấy danh sách các dữ liệu thỏa mãn queryString, trả về đối tượng có kiểu objectType
     */
    public function getList($queryString, $objectType);

    /**
     * @ReturnType Object
     * @ParamType queryString 
     * @ParamType objectType 
     * Lấy dữ liệu đầu tiên thỏa mãn queryString, trả về đối tượng có kiểu objectType, hàm này chỉ trả về 1 object duy nhất
     */
    public function getFirst($queryString, $objectType);

    /**
     * @ReturnType Object
     * @ParamType id 
     * @ParamType objectType 
     * Lấy dữ liệu theo id
     */
    public function getById($id, $objectType);
}
?>